The present application relates generally to an improved data processing apparatus and method and more specifically to mechanisms for autonomic traffic load balancing in link aggregation groups.
A physical network is typically abstracted at the endpoints for availability and scalability purposes. Both availability and scalability are addressed by providing Link Aggregation Groups (LAGs). Link aggregation is a computer networking term used to describe various methods of combining, or aggregating, multiple network connections in parallel to increase throughput beyond what a single connection could sustain, and to provide redundancy in case one of the links fails. Such link aggregation may be implemented at any of the lowest three levels of the Open Systems Interconnection (OSI) model. Examples of aggregation at layer 1 (physical layer) are power line and wireless network devices that combine multiple frequency bands. OSI layer 2 (data link layer) aggregation typically occurs across switch ports, which can be either physical ports or virtual ports managed by an operating system. OSI layer 3 (network layer) aggregation is possible using round-robin scheduling, or hash value based scheduling, a combination, or the like.
The combining of links can either occur such that multiple interfaces share one logical address (e.g., IP address) or one physical address (e.g., MAC address), or it can be done such that each interface has its own address. The former requires that both ends of a link use the same aggregation method, but has performance advantages over the latter. One standard for performing link aggregation is specified in the Link Aggregation Control Protocol (LACP).
A Link Aggregation Group (LAG) is a group of links that have been aggregated together forming a group of links. A LAG is generally coupled to one or more switches of a switch fabric in a network. With regard to availability, a LAG allows a network adapter/link error to be confined to the network adapter/interface domain, where the “interface” is the abstraction of the group of links as a single link. With regard to scalability, the grouping of multiple physical links into one abstracted interface, e.g., a single Etherchannel representing a plurality of physical links, allows for aggregate latency and throughput performance improvements. In both cases, the user space applications are not participants in determining the interface or switch fabric behavior.